package Odhgos_Polhs;

import java.io.File;
import java.util.ArrayList;

public class Restaurant {
    
    //Attributes
    private int ID;
    private String name;
    private String address;
    private String telephone;
    private String description;
    private String info;
    private File image;
    
    private Admin admin; //Υλοποίηση σχέσης με Admin
    private Search search; //Υλοποίηση σχέσης με Search
    private ArrayList<Evaluation> evaluationList = new ArrayList<Evaluation>(); //Υλοποίηση σχέσης με Evaluation
    private Area area; //Υλοποίηση σχέσης με Area
    private Category category; //Υλοποίηση σχέσης με Category
    private PriceRange priceRange; //Υλοποίηση σχέσης με PriceRange
    private Reservation[] reservationList = new Reservation[10]; //Υλοποίηση σχέσης με Reservation

    //Constructors
    public Restaurant(int ID, String name, String address, String telephone, String description, String info, Area area, Category category, PriceRange priceRange) {
        this.ID = ID;
        this.name = name;
        this.address = address;
        this.telephone = telephone;
        this.description = description;
        this.info = info;
        this.area = area;
        this.category = category;
        this.priceRange = priceRange;
    }
    
    public Restaurant(){
        
    }
    //All Setters & Getters

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Admin getAdmin() {
        return admin;
    }

    public void setAdmin(Admin admin) {
        this.admin = admin;
    }

    public Area getArea() {
        return area;
    }

    public void setArea(Area area) {
        this.area = area;
    }

    public Category getCategory() {
        return category;
    }

    public void setCategory(Category category) {
        this.category = category;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public ArrayList<Evaluation> getEvaluationList() {
        return evaluationList;
    }

    public void setEvaluationList(ArrayList<Evaluation> evaluationList) {
        this.evaluationList = evaluationList;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public PriceRange getPriceRange() {
        return priceRange;
    }

    public void setPriceRange(PriceRange priceRange) {
        this.priceRange = priceRange;
    }

    public Reservation[] getReservationList() {
        return reservationList;
    }

    public void setReservationList(Reservation[] reservationList) {
        this.reservationList = reservationList;
    }

    public Search getSearch() {
        return search;
    }

    public void setSearch(Search search) {
        this.search = search;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public File getImage() {
        return image;
    }

    public void setImage(File image) {
        this.image = image;
    }

        
    
    //Other Method
    
    /* Na ftiakso edo mia methodo pou na ypologizei to synoliko meso oro apo oles tis aksiologhseis
    method calcEvaluationsAverage
     * 
     */

    
}// End Class Restaurant
